PartDesign Corps |
Emplacement du menu |
---|
PartDesign → Créer un corps |
Ateliers |
PartDesign |
Raccourci par défaut |
Aucun |
Introduit dans la version |
0.17 |
Voir aussi |
Std Part, Édition de fonctions |
Un PartDesign Corps (Body) est l'élément de base pour créer des formes solides avec l'atelier PartDesign. Il peut contenir des esquisses, des objets Datum et des PartDesign Fonctions (Features) afin de produire un simple solide contigu.
Le Corps fournit un objet Origine qui comprend les axes X, Y, Z, et les plans standards. Ces éléments peuvent être utilisés comme références pour ancrer des esquisses et des objets primitifs.
Ne pas confondre le PartDesign Corps (Body) avec Std Part. Le premier est un objet spécifique utilisé dans l' atelier PartDesign, destiné à modéliser un simple solide contigu au moyen de PartDesign Fonctions. Std Part est un objet de regroupement destiné à créer des assemblages. Il n'est pas utilisé pour la modélisation, juste pour organiser différents objets dans l'espace. Plusieurs corps et d'autres Std Parts peuvent être placés à l'intérieur d'un seul Std Part pour créer un assemblage complexe.
À gauche : l'arborescence montrant les entités qui produisent séquentiellement la forme finale de l'objet.
À droite : l'objet définitif visible dans la vue 3D.
Si aucun solide précédent n'est sélectionné :
Si un objet solide est sélectionné :
Un PartDesign Corps (classe PartDesign::Body
) est dérivé d'une Part Fonction (Feature) (classe Part::Feature
), par conséquent il partage toutes les propriétés de cette dernière.
Outre les propriétés décrites dans la Part Fonction, le PartDesign Corps a les propriétés suivantes dans l'éditeur de propriétés.
Base
Link
) : PartDesign Fonction définie sur "Tip" est généralement la dernière fonction créée dans le Corps. Tip indique la forme finale du Corps qui est affichée dans la vue 3D lorsque VueDisplay Mode Body est défini sur Tip
. Voir Tip pour plus d'informations.Link
) : forme externe utilisée comme première PartDesign Fonction dans le Corps. Il est généralement défini lorsque vous faites glisser un objet solide dans un Corps vide. Si aucun solide n'est importé de cette manière, cette propriété sera vide. Voir Base Feature pour plus d'informations.Placement
) : position de l'objet dans la vue 3D. Le placement est défini par un point Base
(vecteur) et une Rotation
(axe et angle). Voir Positionnement.LinkList
) : une liste avec les PartDesign Fonctions dans le Corps.
Link
) : l'objet App Origin est la référence de position pour tous les éléments répertoriés dans DonnéesGroup.Bool
) : si le groupe est coché ou non.Les propriétés cachées sont aussi décrites dans Part Fonction.
Base
Enumeration
) : définit le mode d'affichage spécifiquement pour le Corps avec l'un des deux types.
Through
(à travers) valeur par défaut, affiche tous les objets à l'intérieur du Corps, c'est-à-dire les esquisses, PartDesign Fonctions, les objets de référence (datum), etc... Ce mode permet de visualiser les opérations partielles effectuées à l'intérieur du Corps et c'est donc le mode recommandé lors de l'ajout et de la modification de fonctions. Sélectionnez la fonction spécifique et définissez VueVisibility sur true
ou appuyez sur la barre d'espace du clavier.Tip
affiche uniquement la forme finale du corps, qui est définie par la propriété DonnéesTip. Tout le reste, y compris les esquisses, les PartDesign Fonctions, les références, etc... ne sont pas affichées même s'elles sont visibles dans la vue en arborescence. Ce mode est recommandé lorsque le Corps n'a pas besoin d'être modifié davantage, aussi une forme fixe est affichée. Ce mode est également recommandé lorsque vous souhaitez sélectionner les sous-éléments (sommets, arêtes et faces) de la forme finale à utiliser avec d'autres outils d'ateliers.
Un PartDesign Corps est destiné à modéliser un solide contigu unique. Le sens de "contigu" est un élément fait d'une seule pièce, sans pièces mobiles ou solides déconnectés. Des exemples de solides contigus sont ceux qui sont fabriqués à partir d'une seule pièce de matière première par un procédé de coulée, de découpe ou de fraisage. Par exemple, un écrou, une rondelle et un boulon se compose chacun d'une seule pièce solide en métal, sans pièces mobiles, de sorte que chacun peut être modélisé par un PartDesign Corps. Les objets créés en soudant deux pièces peuvent également être modélisés par un seul Corps tant que le joint de soudure est solide et non destiné à être cassé.
Une fois que ces solides contigus sont rassemblés dans un certain type d'arrangement, ils deviennent alors un "assemblage". Dans un assemblage, les objets ne sont pas fusionnés, mais simplement "empilés" ou placés côte à côte et restent des objets individuels.
À gauche : trois solides contigus individuels, chacun modélisé par un PartDesign Corps.
À droite : les différents Corps (Body) réunis en un assemblage.
Un PartDesign Corps est conçu pour fonctionner en créant un solide initial, soit à partir d'une esquisse soit à partir d'une forme primitive, puis en la modifiant par le biais de "fonctions" pour ajouter ou enlever de la matière de la forme précédente. Pour une explication complète, voir Édition de fonctions.
Un PartDesign Corps effectuera une union automatique des éléments solides à l'intérieur de celui-ci. Cela signifie que (1) les solides partiels doivent être en contact et (2) que les solides déconnectés ne sont pas autorisés.
À gauche : deux solides individuels qui se coupent.
À droite : un PartDesign Corps unique avec deux fonctions additives. Elles sont automatiquement fusionnées ensemble, donc au lieu de se recouper, elles forment un solide contigu unique.
À gauche : deux solides déconnectés. Ce n'est pas un PartDesign Corps valide.
À droite : deux solides se touchant. Cela se traduit par un PartDesign Corps valide.
La nouvelle fonction doit toujours entrer en contact avec la fonction précédente ou l'intersecter afin qu'elle lui soit fusionnée et devienne un solide contigu unique.
Remarque : d'autres programmes de CAO comme Catia autorisent les solides non contigus dans le même "Corps". Jusqu'à la v0.19, FreeCAD ne le permet toujours pas. Il y a eu des discussions sur le FreeCAD forum sur la levée de cette restriction, mais aucune décision concrète n'a été prise. Si vous souhaitez en savoir plus ou présenter différents points de vue, veuillez en discuter dans le forum.
Un document ouvert peut contenir plusieurs Corps. Pour ajouter une nouvelle fonctionnalité à un Corps spécifique, il doit être rendu actif. Un Corps actif sera affiché dans la vue en arborescence avec la couleur d'arrière-plan spécifiée par la valeur Active container dans l'éditeur de préférences (par défaut, bleu clair). le Corps actif sera également affiché en gras.
Pour activer ou désactiver un Corps :
L'activation d'un Corps bascule automatiquement vers l'atelier PartDesign. Un seul Corps ne peut être actif à la fois.
Document avec deux PartDesign Corps dont le second est actif.
L'Origine se compose des trois axes standard (X, Y, Z) et de trois plans standard (XY, XZ et YZ). Des esquisses et autres objets peuvent être attachés à ces éléments lors de leur création.
Le même processus peut être utilisé lors de la création d'une géométrie de référence auxiliaire comme des PartDesign Lignes, PartDesign Plans et PartDesign Systèmes de coordonnées.
Remarque : l'Origine est un objet App Origin (classe App::Origin
) tandis que les axes et les plans sont respectivement des objets de type App::Line
et App::Plane
. Chacun de ces éléments peut être masqué et non masqué individuellement avec la barre espace. Cela est utile pour choisir la référence correcte lors de la création d'autres objets.
Remarque 2 : tous les éléments à l'intérieur du Corps sont référencés à l'origine du Corps, ce qui signifie que le Corps peut être déplacé et tourné en référence au système de coordonnées global sans affecter le placement des éléments à l'intérieur.
À gauche : PartDesign Origin du Corps dans la vue en arborescence et telle qu'elle apparaît affichée dans la vue 3D.
À droite : représentation des éléments Origin dans la vue 3D.
La Base Feature (fonction de base) est la première PartDesign Fonction dans le Corps quand le Corps est basé sur une autre forme solide. Ce solide peut être créé par n'importe quel atelier ou importé à partir d'un fichier externe, par exemple un fichier STEP.
Deux PartDesign Corps, chacun avec une seule Base Feature, issus de solides créés précédemment.
Pour créer la fonction de base :
Remarque : vous ne pouvez pas sélectionner un Corps existant ou l'une de ses fonctions lorsque vous appuyez sur Créer un corps.
Si vous avez déjà un Corps, vous pouvez créer la fonction de base de cette manière :
Remarque : le glisser-déposer ne fonctionne que pour les Corps qui n'ont pas encore de fonction de base (Base Feature).
Remarque 2 : si le Corps possède déjà plusieurs fonctions, lorsque vous faites glisser et déposez le solide externe, la fonction de base sera créée au début de la liste des fonctions, c'est-à-dire qu'elle sera ajoutée au début de la propriété DonnéesGroup.
La fonction de base (Base Feature) est entièrement facultative. Elle n'est présente que lors de l'inclusion d'un objet extérieur au Corps. Si aucun solide externe n'est inclus, vous pouvez toujours créer votre forme à l'aide d'esquisses, de protrusions, de primitives additives et d'autres PartDesign Fonctions. Dans ce cas, la propriété DonnéesBase Feature reste vide.
À gauche : un PartDesign Corps avec une fonction de base issue d'un objet solide externe et de nombreuses PartDesign Fonctions ultérieures en haut.
À droite : un Corps qui n'a pas de fonction de base explicite (Base Feature).
Remarque : si un autre PartDesign Corps est sélectionné comme Base Feature, il doit avoir une forme. S'il est vide (pas de fonction, pas de Base Feature, ...), il en résultera une erreur.
Le Tip (fonction résultante) est la PartDesign Fonction qui est exposée à l'extérieur du Corps, c'est-à-dire que si un autre outil de n'importe quel atelier (par exemple, Part Copie simple ou Part Soustraction) doit utiliser la forme du Corps, il utilisera la forme du Tip. Autrement dit, le Tip est la représentation finale du Corps comme si l'historique paramétrique n'existait pas.
À gauche : un PartDesign Corps avec l'historique paramétrique complet incluant les fonctions intermédiaires.
À droite : le Tip est la forme finale qui peut être exportée à partir du Corps, tout en omettant l'historique du modèle.
Le Tip est automatiquement définie sur la dernière fonction créée dans le Corps. Néanmoins, il peut également être défini sur l'une des fonctions intermédiaires en ouvrant le menu contextuel de la vue en arborescence (clic droit) et en choisissant Désigner comme fonction résultante ou en modifiant la valeur DonnéesTip du Corps dans l'éditeur de propriétés.
Le fait de modifier le Tip permet en effet de revenir en arrière et d'ajouter des fonctions qui auraient dû être ajoutées plus tôt. Cela expose également une forme différente aux outils externes.
Dans la vue en arborescence, le Tip du Corps est reconnue par la PartDesign Fonction qui a une superposition d'icônes consistant en une flèche blanche à l'intérieur d'un cercle vert.
Deux PartDesign Corps, chacun avec des PartDesign Fonctions. Le Tip est la dernière fonction de celles-ci et est marqué par un symbole de superposition.
Par défaut, des PartDesign Fonctions à l'intérieur d'un Corps sont sélectionnables dans le but de modifier et d'ajouter d'autres fonctions avec les outils de l'atelier PartDesign. Néanmoins, il n'est pas conseillé de sélectionner les fonctions individuellement pour les utiliser avec des outils d'autres ateliers, tels que l'atelier Part et l'atelier Draft, des résultats inattendus peuvent apparaitre. Si cela est fait, dans la vue rapport, un message d'erreur peut apparaître, Links go out of the allowed scope (Les liens sortent du champ d'application autorisé).
Par conséquent, pour les interactions avec d'autres ateliers, seul le Corps lui-même doit être sélectionné dans la vue en arborescence. Dans les cas où il est nécessaire de sélectionner des sous-éléments spécifiques du Corps (sommets, arêtes et faces), la propriété VueDisplay Mode Body du Corps doit être basculée sur Tip
. Lorsque ce mode est activé, l'accès aux objets sous le Corps (PartDesign Fonctions, les références (datum), les esquisses) sont désactivées et tout sauf le Tip du Corps sera caché dans la vue 3D.
Une fois que les sous-éléments ont été utilisés avec d'autres ateliers, la VueDisplay Mode Body peut être redéfinie sur Through
.
À gauche : lorsque "Display Mode Body" est réglé sur Through
, il est possible de sélectionner et d'effectuer des opérations avec la PartDesign Fonction; en général, ce n'est pas recommandé.
À droite : lorsque "Display Mode Body" est réglé sur Tip
, toutes les sélections et opérations effectuées sur le Corps seront effectuées sur le Tip, en s'assurant que seule la forme finale du Corps est exposée.
La visibilité du Corps remplace la visibilité de tout objet qu'il contient. Si le Corps est masqué, les objets qu'il contient seront également masqués, même si leur propriété individuelle VueVisibility est définie sur true
.
Plusieurs esquisses peuvent être visibles à la fois mais une seule PartDesign Fonction (résultat solide) peut être visible à la fois. Sélectionner une fonction cachée et appuyer sur la barre espace du clavier la rendra visible et masquera automatiquement la fonction précédemment visible.
PartDesign Corps : plusieurs esquisses peuvent être visibles simultanément, mais une seule PartDesign Fonction peut être visible à la fois, que ce soit le Tip ou non.
Les PartDesign Fonctions, tout comme les objets planaires, peuvent être ancrées à différents plans, généralement les plans standard définis par l'Origine du Corps ou à des PartDesign Plans de référence personnalisés.
Les esquisses sont normalement ancrées à un plan lors de leur création. De la même manière, les PartDesign Primitives additives peuvent également être ancrées. Ancrer ces objets à un plan permet de les déplacer dans le Corps en modifiant leur propriété DonnéesAttachment Offset. Pour plus d'informations sur les modes d'ancrage, voir Part Ancrage.
Une PartDesign Fonction qui n'est pas ancrée sera affichée avec un symbole de superposition rouge à côté de son icône dans la vue en arborescence.
PartDesign Corps: les PartDesign Fonctions qui ne sont pas ancrées à un plan ou à un système de coordonnées seront affichées avec un symbole de superposition à côté de leur icône dans la vue en arborescence.
Un PartDesign Corps est formellement une instance de la classe PartDesign::Body
, dont le parent est une Part Fonction (classe Part::Feature
) via la classe intermédiaire Part::BodyBase
et est complétée par une extension Origin.
Diagramme simplifié des relations entre les objets centraux du programme. L'objet PartDesign::Body
est destiné à construire des solides 3D paramétriques et est donc dérivé de l'objet de base Part::Feature
. Il possède une Origine pour contrôler le placement des fonctionnalités utilisées à l'intérieur.
Voir aussi : Débuter avec les scripts et Objets créés par script.
Voir Part Fonction pour plus d'informations à propos de l'ajout d'objets au document.
Un PartDesign Corps (Body) est créé avec la méthode addObject()
du document. Une fois qu'un Corps existe, des PartDesign Fonctions, comme les primitives additives et soustractives, peuvent être ajoutées et attachées à ce Corps avec les méthodes addObject()
ou addObjects()
de ce Corps.
import FreeCAD as App
doc = App.newDocument()
obj = App.ActiveDocument.addObject("PartDesign::Body", "Body")
obj.Label = "Custom label"
feat1 = App.ActiveDocument.addObject("PartDesign::AdditiveBox", "Box")
feat2 = App.ActiveDocument.addObject("PartDesign::AdditiveCylinder", "Cylinder")
obj.addObjects([feat1, feat2])
App.ActiveDocument.recompute()
Dans un document contenant plusieurs Corps, le Corps actif peut être défini par la méthode setActiveObject
de la ActiveView
. Le premier argument est la chaîne fixe "pdbody"
et le deuxième argument est l'objet Corps (Body) qui doit être activé.
import FreeCAD as App
import FreeCADGui as Gui
doc = App.newDocument()
obj1 = App.ActiveDocument.addObject("PartDesign::Body", "Body")
obj2 = App.ActiveDocument.addObject("PartDesign::Body", "Body")
Gui.ActiveDocument.ActiveView.setActiveObject("pdbody", obj1)
App.ActiveDocument.recompute()